<?php

namespace YouBaoLian\Application\Request;

use YouBaoLian\Application\Response\VehicleActualPriceResponse;

class VehicleActualPriceRequest extends Request
{

    /**
     * 报价配置ID
     * @var int $configId
     */
    private $configId = 0;

    /**
     * 起保日期
     * @var string $startDate
     */
    private $startDate = '';

    /**
     * 初登日期
     * @var string $enrollDate
     */
    private $enrollDate = '';

    /**
     * 座位数
     * @var int $seatCount
     */
    private $seatCount = 0;

    /**
     * 核载质量
     * @var float|int $tonNumber
     */
    private $tonNumber = 0;

    /**
     * 车辆购置价格
     * @var float|int $purchasePrice
     */
    private $purchasePrice = 0;

    /**
     * 车辆种类
     * @var int $carKindCode
     */
    private $carKindCode = 0;

    /**
     * 使用性质
     * @var int $useNatureCode
     */
    private $useNatureCode = 0;

    protected $method = 'iebcVehicle.vehicleActualPrice';

    protected $response = VehicleActualPriceResponse::class;

    public function getBizContent(): array
    {
        return [
            'configId' => $this->configId,
            'startDate' => $this->startDate,
            'enrollDate' => $this->enrollDate,
            'seatCount' => $this->seatCount,
            'tonNumber' => $this->tonNumber,
            'purchasePrice' => $this->purchasePrice,
            'carKindCode' => $this->carKindCode,
            'useNatureCode' => $this->useNatureCode
        ];
    }

    /**
     * @param int $configId
     */
    public function setConfigId(int $configId): void
    {
        $this->configId = $configId;
    }

    /**
     * @param string $startDate
     */
    public function setStartDate(string $startDate): void
    {
        $this->startDate = $startDate;
    }

    /**
     * @param string $enrollDate
     */
    public function setEnrollDate(string $enrollDate): void
    {
        $this->enrollDate = $enrollDate;
    }

    /**
     * @param int $seatCount
     */
    public function setSeatCount(int $seatCount): void
    {
        $this->seatCount = $seatCount;
    }

    /**
     * @param float|int $tonNumber
     */
    public function setTonNumber($tonNumber): void
    {
        $this->tonNumber = $tonNumber;
    }

    /**
     * @param float|int $purchasePrice
     */
    public function setPurchasePrice($purchasePrice): void
    {
        $this->purchasePrice = $purchasePrice;
    }

    /**
     * @param int $carKindCode
     */
    public function setCarKindCode(int $carKindCode): void
    {
        $this->carKindCode = $carKindCode;
    }

    /**
     * @param int $useNatureCode
     */
    public function setUseNatureCode(int $useNatureCode): void
    {
        $this->useNatureCode = $useNatureCode;
    }
}
